package com.yami.shop.service;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.*;
import java.util.List;

public interface CashOutService extends IService<CashOut> {

    void updateAndCash(CashOut cashOut);

    //获取累计收益
    String getAllIncome(String userId);

    //获取累计奖励(通过邀请码)
    String getMoneyByCode(String userId,String puserID);

    //获得全部推广订单
    List<PromoTionOrder> getPromoTionOrder(String userId);

    //获取子订单
    List<OrderItem> getOrderItem(String orderNumber);

    //获得全部待结算的订单
    List<PromoTionOrder> getdjsOrder(String userId);

    //获得全部已结算的订单
    List<PromoTionOrder> getyjsOrder(String userId);

    //获取当前用户已结算的佣金
    List<RebateRecords> getIncomeDetails(String userId);

    //获取所有的推广商品
    List<PromotionGoods> getPromotionGoods(String shopId);

    //处理提现流程
    void dealCashOut(String name,String bankAccount,String amount,String userId,String bankName);

    //获取个人提现的全部记录
    List<CashOut> getWithdrawalRecord(String userId);

    //获取个人已通过的提现记录
    List<CashOut> getytgWithdrawalRecord(String userId);

    //获取个人待审核的提现记录
    List<CashOut> getdshWithdrawalRecord(String userId);

    //获取最新的推广商品
    List<PromotionGoods> getRecentGoods(String shopId);

    //获取最热的推广商品
    List<PromotionGoods> getSellWellGoods(String shopId);

    //商家提现
    void cashOutByShop(Long shopId,String cashOUtMoney);

    //获取三天后的提现记录
    List<CashOut> cashOutItems(Integer status, DateTime lessThanUpdateTime);

    //收银用户提现申请
    CashOut appCashOut(Double cashOutMoney,String remark,Long shopId,Long userId);

    //收银App商户提现审核 通过
    Boolean cashOutReview(Long cashId,int status,String reason,String bankAccount);

    //申请提账驳回
    CashOut cashOutReject(Long cashId,int status,String reason);

    //平台分账
    Boolean separateAccount();

    //商家查询银联账户接口
    String umsShopAccount(Long shopId,String merNo);

    //商户信息查询接口 202006
    String shopAccount();




}
